//
//  DCDownloadOprationManager.h
//  DCDownloadOpration
//
//  Created by Wade on 16/3/30.
//  Copyright © 2016年 Wade. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "DCDownloadConst.h"
#import "DCDownloadOpration.h"

@class DCDownloadOpration;


@interface DCDownloadOprationManager : NSObject

- (DCDownloadOpration *)download:(NSString *)url toDestinationPath:(NSString *)destinationPath progress:(DCDownloadOprationResuming)progress state:(DCDownloadStateChangeBlock)statechange;


/** 最大同时下载数 */
@property (assign, nonatomic) int maxDownloadingCount;

+ (instancetype)managerWithIdentifier:(NSString *)identifier;

/**
 *  全部文件取消下载(一旦被取消了，需要重新调用download方法)
 */
- (void)cancelAll;
/**
 *  全部文件取消下载(一旦被取消了，需要重新调用download方法)
 */
+ (void)cancelAll;

/**
 *  取消下载某个文件(一旦被取消了，需要重新调用download方法)
 */
- (void)cancel:(NSString *)url;

/**
 *  全部文件暂停下载
 */
- (void)suspendAll;
/**
 *  全部文件暂停下载
 */
+ (void)suspendAll;

/**
 *  暂停下载某个文件
 */
- (void)suspend:(NSString *)url;

/**
 * 全部文件开始\继续下载
 */
- (void)resumeAll;
/**
 * 全部文件开始\继续下载
 */
+ (void)resumeAll;

/**
 *  开始\继续下载某个文件
 */
- (void)resume:(NSString *)url;

@end
